import { QueryOptionsDto } from '@/types/common/dto/query.options.dto';
import { QueryListVo } from '@/types/common/vo/query.list.vo';
import { LcDocument, LcProject } from './editor.type';

export class ApiEditorResourceReqDto extends QueryOptionsDto {
  /**
   * 资源类型
   */
  type?: ResourceType;

  /**
   * 关键词
   */
  keywords?: string;

  /**
   * 框架
   */
  frame?: string;

  /**
   * 归属
   */
  belong?: BelongType;

  /**
   * 项目ID
   */
  projectId?: string;

  trade?: string;
  childTrade?: string;
  scene?: string;
  childScene?: string;

  /**
   * 团队ID
   */
  teamId?: number;
}

export class ApiEditorResourceResDto extends QueryListVo {
  data: LcProject[] | LcDocument[];
}

/**
 * 资源类型
 */
export enum ResourceType {
  // 综合
  All = 'All',
  // 项目
  Project = 'Project',
  // 模块
  Module = 'Module',
  // 区块
  Block = 'Block',
  // 组件
  Component = 'Component',
  // 组件
  Page = 'Page',
  // 素材
  Material = 'Material',
}

/**
 * 归属类型
 */
export enum BelongType {
  // 商店
  Store = 'store',
  // 公司
  Team = 'team',
  // 个人
  User = 'user',
  // 项目
  Project = 'project',
}
